package cn.fl.capital.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.capital.dto.CapPayListRepDTO;
import cn.fl.capital.vo.CapPayListRepVO;
import cn.cmm.base.framework.utils.CollectionUtils;

 /**
 * @Description: 资金放款报表 转换器
 * VO是客户端传递数据到服务端进行转换的数据 
 * VO转换数据变成DTO传递到服务端 
 * VO不能在服务端出现
 */
public class CapPayListRepVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto CapPayListRepDTO
	 * @return CapPayListRepVO
	 */
	public static CapPayListRepVO toVO(CapPayListRepDTO dto) {
		CapPayListRepVO  vo = null;
		if (dto != null) { 
			vo = new CapPayListRepVO();
			vo.setId(dto.getId());
			vo.setPrInsNo(dto.getPrInsNo());//流程编号
			vo.setPaySchNo(dto.getPaySchNo());//支付表号
			vo.setCstMgrOrgCd(dto.getCstMgrOrgCd());//省公司（客户经理组织架构）
			vo.setCstMgrOrgCdNm(dto.getCstMgrOrgCdNm());//省公司名称（客户经理组织架构）
			vo.setRuTaskNm(dto.getRuTaskNm());//RU_TASK_NM
			vo.setPrCrtTm(dto.getPrCrtTm());//创建时间
			vo.setCstNm(dto.getCstNm());//客户名称
			vo.setRcptUnt(dto.getRcptUnt());//收款单位/人
			vo.setPayeeBkNm(dto.getPayeeBkNm());//收款银行
			vo.setAccNo(dto.getAccNo());//收款账号
			vo.setBuOrgCd(dto.getBuOrgCd());//所属事业部
			vo.setBuOrgCdNm(dto.getBuOrgCdNm());//所属事业部名称
			vo.setPrjTypCd(dto.getPrjTypCd());//项目类型
			vo.setPrjTypCdNm(dto.getPrjTypCdNm());//项目类型名称
			vo.setPrdNm(dto.getPrdNm());//租赁物名称
			vo.setPrdAmt(dto.getPrdAmt());//设备单价
			vo.setPayAmt(dto.getPayAmt());//应付金额
			vo.setFstRentAmt(dto.getFstRentAmt());//应收首期租金
			vo.setGrtAmt(dto.getGrtAmt());//应收保证金

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo CapPayListRepVO
	 * @return CapPayListRepDTO
	 */
	public static CapPayListRepDTO toDTO(CapPayListRepVO vo) {
		CapPayListRepDTO dto = null;
		if (vo != null) {
			dto = new CapPayListRepDTO();
			dto.setId(vo.getId());
			dto.setPrInsNo(vo.getPrInsNo());//流程编号
			dto.setPaySchNo(vo.getPaySchNo());//支付表号
			dto.setCstMgrOrgCd(vo.getCstMgrOrgCd());//省公司（客户经理组织架构）
			dto.setCstMgrOrgCdNm(vo.getCstMgrOrgCdNm());//省公司名称（客户经理组织架构）
			dto.setRuTaskNm(vo.getRuTaskNm());//RU_TASK_NM
			dto.setPrCrtTm(vo.getPrCrtTm());//创建时间
			dto.setCstNm(vo.getCstNm());//客户名称
			dto.setRcptUnt(vo.getRcptUnt());//收款单位/人
			dto.setPayeeBkNm(vo.getPayeeBkNm());//收款银行
			dto.setAccNo(vo.getAccNo());//收款账号
			dto.setBuOrgCd(vo.getBuOrgCd());//所属事业部
			dto.setBuOrgCdNm(vo.getBuOrgCdNm());//所属事业部名称
			dto.setPrjTypCd(vo.getPrjTypCd());//项目类型
			dto.setPrjTypCdNm(vo.getPrjTypCdNm());//项目类型名称
			dto.setPrdNm(vo.getPrdNm());//租赁物名称
			dto.setPrdAmt(vo.getPrdAmt());//设备单价
			dto.setPayAmt(vo.getPayAmt());//应付金额
			dto.setFstRentAmt(vo.getFstRentAmt());//应收首期租金
			dto.setGrtAmt(vo.getGrtAmt());//应收保证金

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<CapPayListRep>
	 * @return List<CapPayListRepDTO>
	 */
	public static List<CapPayListRepVO> toVOList(List<CapPayListRepDTO> list) {
		List<CapPayListRepVO>  voList = new ArrayList<CapPayListRepVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (CapPayListRepDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 *  VO集合 转 DTO集合
	 * @param list List<CapPayListRepVO>
	 * @return List<CapPayListRepDTO>
	 */
	public static List<CapPayListRepDTO> toDTOList(List<CapPayListRepVO> list) {
		List<CapPayListRepDTO>  dtoList = new ArrayList<>();
		if(CollectionUtils.isNotEmpty(list)){
			for (CapPayListRepVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
